package com.unitd.frame.comm.config;

import com.unitd.frame.comm.utils.StringUtils;

import java.io.File;
import java.util.logging.Logger;

/**
 * @desc 应用配置文件信息(包含数据库, redis, 等其他的properties等的配置文件信息,它可以作为整个系统的全局配置信息类)
 * @filename UnitCfg.java
 * @copyright www.unitd.com
 * @author Hudan
 * @version 1.0
 * @date 2017/2/24
 */
public class UnitCfg {
	private static final Logger logger = Logger.getLogger(UnitCfg.class.getName());

	/**
	 * @desc 获取配置文件默认的存放根路径
	 * @return 应用运行的配置环境目录
	 */
	public static String getHomeDir() {
		// 获取当前应用所在的操作系统名称
		String os = System.getProperty("os.name").toLowerCase();
		// 获取定义的应用的属性配置文件存放的根目录
		String homeDir = System.getProperty("unitd.home.dir");
		logger.info("属性配置文件存放的根目录1:" + homeDir);

		if (StringUtils.isEmpty(homeDir)) {
			if (os.contains("win")) {
				File file = new File("D:" + File.separator);
				if (file.exists()) {
					homeDir = "D:" + File.separator + "home" + File.separator + "unitd" + File.separator;
				}
			} else {
				File file = new File(File.separator + "home");
				if (file.exists()) {
					homeDir = File.separator + "home" + File.separator + "unitd" + File.separator;
				}
			}
		} else if (!homeDir.endsWith(File.separator)) {
			homeDir = homeDir + File.separator;
		}
		logger.info("属性配置文件存放的根目录2:" + homeDir);
		return homeDir;
	}
}